package common.model.Entity.StoreEntity;

import common.model.Entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;

/**
 * 商品分类实体类，用于组织和管理商品分类。
 * 支持多级分类结构，通过parentId实现层级关系。
 */
@Getter
@Setter
public class Category extends BaseEntity {
    /**
     * 分类名称
     */
    private String name;

    /**
     * 父分类ID，外键关联到分类表自身，用于实现多级分类
     * 如果为0，则表示这是一级分类
     */
    private long parentId;

    /**
     * 默认构造函数
     */
    public Category() {}

    /**
     * 带参数的构造函数，用于创建指定名称、ID和父分类ID的分类对象
     *
     * @param name 分类名称
     * @param id 分类ID
     * @param parent_id 父分类ID
     */
    public Category(String name, long id, long parent_id) {
        super(id);
        this.name = name;
        this.parentId = parent_id;
    }
}